package com.dt.platform.domain.oa.meta;

import com.dt.platform.domain.oa.MeetingRoom;
import com.dt.platform.domain.oa.MeetingRoomPosition;
import com.github.foxnic.api.bean.BeanProperty;

import javax.persistence.Transient;
import java.util.Date;



/**
 * @author 金杰 , maillank@qq.com
 * @since 2023-06-28 22:10:52
 * @sign 94E02EE7631925FE40E03C048C03D2AB
 * 此文件由工具自动生成，请勿修改。若表结构或配置发生变动，请使用工具重新生成。
*/

public class MeetingRoomMeta {
	
	/**
	 * 主键 , 类型: java.lang.String
	*/
	public static final String ID="id";
	
	/**
	 * 主键 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.dt.platform.domain.oa.MeetingRoom,java.lang.String> ID_PROP = new BeanProperty(com.dt.platform.domain.oa.MeetingRoom.class ,ID, java.lang.String.class, "主键", "主键", java.lang.String.class, null);
	
	/**
	 * 名称 , 类型: java.lang.String
	*/
	public static final String NAME="name";
	
	/**
	 * 名称 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.dt.platform.domain.oa.MeetingRoom,java.lang.String> NAME_PROP = new BeanProperty(com.dt.platform.domain.oa.MeetingRoom.class ,NAME, java.lang.String.class, "名称", "名称", java.lang.String.class, null);
	
	/**
	 * 容纳人数 , 类型: java.lang.Integer
	*/
	public static final String PERSON_NUMBER="personNumber";
	
	/**
	 * 容纳人数 , 类型: java.lang.Integer
	*/
	public static final BeanProperty<com.dt.platform.domain.oa.MeetingRoom,java.lang.Integer> PERSON_NUMBER_PROP = new BeanProperty(com.dt.platform.domain.oa.MeetingRoom.class ,PERSON_NUMBER, java.lang.Integer.class, "容纳人数", "容纳人数", java.lang.Integer.class, null);
	
	/**
	 * 状态 , 类型: java.lang.String
	*/
	public static final String STATUS="status";
	
	/**
	 * 状态 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.dt.platform.domain.oa.MeetingRoom,java.lang.String> STATUS_PROP = new BeanProperty(com.dt.platform.domain.oa.MeetingRoom.class ,STATUS, java.lang.String.class, "状态", "状态", java.lang.String.class, null);
	
	/**
	 * 位置 , 类型: java.lang.String
	*/
	public static final String POSITION_ID="positionId";
	
	/**
	 * 位置 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.dt.platform.domain.oa.MeetingRoom,java.lang.String> POSITION_ID_PROP = new BeanProperty(com.dt.platform.domain.oa.MeetingRoom.class ,POSITION_ID, java.lang.String.class, "位置", "位置", java.lang.String.class, null);
	
	/**
	 * 备注 , 类型: java.lang.String
	*/
	public static final String NOTES="notes";
	
	/**
	 * 备注 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.dt.platform.domain.oa.MeetingRoom,java.lang.String> NOTES_PROP = new BeanProperty(com.dt.platform.domain.oa.MeetingRoom.class ,NOTES, java.lang.String.class, "备注", "备注", java.lang.String.class, null);
	
	/**
	 * 创建人ID , 类型: java.lang.String
	*/
	public static final String CREATE_BY="createBy";
	
	/**
	 * 创建人ID , 类型: java.lang.String
	*/
	public static final BeanProperty<com.dt.platform.domain.oa.MeetingRoom,java.lang.String> CREATE_BY_PROP = new BeanProperty(com.dt.platform.domain.oa.MeetingRoom.class ,CREATE_BY, java.lang.String.class, "创建人ID", "创建人ID", java.lang.String.class, null);
	
	/**
	 * 创建时间 , 类型: java.util.Date
	*/
	public static final String CREATE_TIME="createTime";
	
	/**
	 * 创建时间 , 类型: java.util.Date
	*/
	public static final BeanProperty<com.dt.platform.domain.oa.MeetingRoom,java.util.Date> CREATE_TIME_PROP = new BeanProperty(com.dt.platform.domain.oa.MeetingRoom.class ,CREATE_TIME, java.util.Date.class, "创建时间", "创建时间", java.util.Date.class, null);
	
	/**
	 * 修改人ID , 类型: java.lang.String
	*/
	public static final String UPDATE_BY="updateBy";
	
	/**
	 * 修改人ID , 类型: java.lang.String
	*/
	public static final BeanProperty<com.dt.platform.domain.oa.MeetingRoom,java.lang.String> UPDATE_BY_PROP = new BeanProperty(com.dt.platform.domain.oa.MeetingRoom.class ,UPDATE_BY, java.lang.String.class, "修改人ID", "修改人ID", java.lang.String.class, null);
	
	/**
	 * 修改时间 , 类型: java.util.Date
	*/
	public static final String UPDATE_TIME="updateTime";
	
	/**
	 * 修改时间 , 类型: java.util.Date
	*/
	public static final BeanProperty<com.dt.platform.domain.oa.MeetingRoom,java.util.Date> UPDATE_TIME_PROP = new BeanProperty(com.dt.platform.domain.oa.MeetingRoom.class ,UPDATE_TIME, java.util.Date.class, "修改时间", "修改时间", java.util.Date.class, null);
	
	/**
	 * 是否已删除 , 类型: java.lang.Integer
	*/
	public static final String DELETED="deleted";
	
	/**
	 * 是否已删除 , 类型: java.lang.Integer
	*/
	public static final BeanProperty<com.dt.platform.domain.oa.MeetingRoom,java.lang.Integer> DELETED_PROP = new BeanProperty(com.dt.platform.domain.oa.MeetingRoom.class ,DELETED, java.lang.Integer.class, "是否已删除", "是否已删除", java.lang.Integer.class, null);
	
	/**
	 * 删除人ID , 类型: java.lang.String
	*/
	public static final String DELETE_BY="deleteBy";
	
	/**
	 * 删除人ID , 类型: java.lang.String
	*/
	public static final BeanProperty<com.dt.platform.domain.oa.MeetingRoom,java.lang.String> DELETE_BY_PROP = new BeanProperty(com.dt.platform.domain.oa.MeetingRoom.class ,DELETE_BY, java.lang.String.class, "删除人ID", "删除人ID", java.lang.String.class, null);
	
	/**
	 * 删除时间 , 类型: java.util.Date
	*/
	public static final String DELETE_TIME="deleteTime";
	
	/**
	 * 删除时间 , 类型: java.util.Date
	*/
	public static final BeanProperty<com.dt.platform.domain.oa.MeetingRoom,java.util.Date> DELETE_TIME_PROP = new BeanProperty(com.dt.platform.domain.oa.MeetingRoom.class ,DELETE_TIME, java.util.Date.class, "删除时间", "删除时间", java.util.Date.class, null);
	
	/**
	 * 数据版本号 , 类型: java.lang.Integer
	*/
	public static final String VERSION="version";
	
	/**
	 * 数据版本号 , 类型: java.lang.Integer
	*/
	public static final BeanProperty<com.dt.platform.domain.oa.MeetingRoom,java.lang.Integer> VERSION_PROP = new BeanProperty(com.dt.platform.domain.oa.MeetingRoom.class ,VERSION, java.lang.Integer.class, "数据版本号", "数据版本号", java.lang.Integer.class, null);
	
	/**
	 * 租户 , 类型: java.lang.String
	*/
	public static final String TENANT_ID="tenantId";
	
	/**
	 * 租户 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.dt.platform.domain.oa.MeetingRoom,java.lang.String> TENANT_ID_PROP = new BeanProperty(com.dt.platform.domain.oa.MeetingRoom.class ,TENANT_ID, java.lang.String.class, "租户", "租户", java.lang.String.class, null);
	
	/**
	 * meetingRoomPosition , 类型: com.dt.platform.domain.oa.MeetingRoomPosition
	*/
	public static final String MEETING_ROOM_POSITION="meetingRoomPosition";
	
	/**
	 * meetingRoomPosition , 类型: com.dt.platform.domain.oa.MeetingRoomPosition
	*/
	public static final BeanProperty<com.dt.platform.domain.oa.MeetingRoom,com.dt.platform.domain.oa.MeetingRoomPosition> MEETING_ROOM_POSITION_PROP = new BeanProperty(com.dt.platform.domain.oa.MeetingRoom.class ,MEETING_ROOM_POSITION, com.dt.platform.domain.oa.MeetingRoomPosition.class, "meetingRoomPosition", "meetingRoomPosition", com.dt.platform.domain.oa.MeetingRoomPosition.class, null);
	
	/**
	 * 全部属性清单
	*/
	public static final String[] $PROPS={ ID , NAME , PERSON_NUMBER , STATUS , POSITION_ID , NOTES , CREATE_BY , CREATE_TIME , UPDATE_BY , UPDATE_TIME , DELETED , DELETE_BY , DELETE_TIME , VERSION , TENANT_ID , MEETING_ROOM_POSITION };
	
	/**
	 * 代理类
	*/
	public static class $$proxy$$ extends com.dt.platform.domain.oa.MeetingRoom {

		private static final long serialVersionUID = 1L;

		
		/**
		 * 设置 主键
		 * @param id 主键
		 * @return 当前对象
		*/
		public MeetingRoom setId(String id) {
			super.change(ID,super.getId(),id);
			super.setId(id);
			return this;
		}
		
		/**
		 * 设置 名称
		 * @param name 名称
		 * @return 当前对象
		*/
		public MeetingRoom setName(String name) {
			super.change(NAME,super.getName(),name);
			super.setName(name);
			return this;
		}
		
		/**
		 * 设置 容纳人数
		 * @param personNumber 容纳人数
		 * @return 当前对象
		*/
		public MeetingRoom setPersonNumber(Integer personNumber) {
			super.change(PERSON_NUMBER,super.getPersonNumber(),personNumber);
			super.setPersonNumber(personNumber);
			return this;
		}
		
		/**
		 * 设置 状态
		 * @param status 状态
		 * @return 当前对象
		*/
		public MeetingRoom setStatus(String status) {
			super.change(STATUS,super.getStatus(),status);
			super.setStatus(status);
			return this;
		}
		
		/**
		 * 设置 位置
		 * @param positionId 位置
		 * @return 当前对象
		*/
		public MeetingRoom setPositionId(String positionId) {
			super.change(POSITION_ID,super.getPositionId(),positionId);
			super.setPositionId(positionId);
			return this;
		}
		
		/**
		 * 设置 备注
		 * @param notes 备注
		 * @return 当前对象
		*/
		public MeetingRoom setNotes(String notes) {
			super.change(NOTES,super.getNotes(),notes);
			super.setNotes(notes);
			return this;
		}
		
		/**
		 * 设置 创建人ID
		 * @param createBy 创建人ID
		 * @return 当前对象
		*/
		public MeetingRoom setCreateBy(String createBy) {
			super.change(CREATE_BY,super.getCreateBy(),createBy);
			super.setCreateBy(createBy);
			return this;
		}
		
		/**
		 * 设置 创建时间
		 * @param createTime 创建时间
		 * @return 当前对象
		*/
		public MeetingRoom setCreateTime(Date createTime) {
			super.change(CREATE_TIME,super.getCreateTime(),createTime);
			super.setCreateTime(createTime);
			return this;
		}
		
		/**
		 * 设置 修改人ID
		 * @param updateBy 修改人ID
		 * @return 当前对象
		*/
		public MeetingRoom setUpdateBy(String updateBy) {
			super.change(UPDATE_BY,super.getUpdateBy(),updateBy);
			super.setUpdateBy(updateBy);
			return this;
		}
		
		/**
		 * 设置 修改时间
		 * @param updateTime 修改时间
		 * @return 当前对象
		*/
		public MeetingRoom setUpdateTime(Date updateTime) {
			super.change(UPDATE_TIME,super.getUpdateTime(),updateTime);
			super.setUpdateTime(updateTime);
			return this;
		}
		
		/**
		 * 设置 是否已删除
		 * @param deleted 是否已删除
		 * @return 当前对象
		*/
		public MeetingRoom setDeleted(Integer deleted) {
			super.change(DELETED,super.getDeleted(),deleted);
			super.setDeleted(deleted);
			return this;
		}
		
		/**
		 * 设置 删除人ID
		 * @param deleteBy 删除人ID
		 * @return 当前对象
		*/
		public MeetingRoom setDeleteBy(String deleteBy) {
			super.change(DELETE_BY,super.getDeleteBy(),deleteBy);
			super.setDeleteBy(deleteBy);
			return this;
		}
		
		/**
		 * 设置 删除时间
		 * @param deleteTime 删除时间
		 * @return 当前对象
		*/
		public MeetingRoom setDeleteTime(Date deleteTime) {
			super.change(DELETE_TIME,super.getDeleteTime(),deleteTime);
			super.setDeleteTime(deleteTime);
			return this;
		}
		
		/**
		 * 设置 数据版本号
		 * @param version 数据版本号
		 * @return 当前对象
		*/
		public MeetingRoom setVersion(Integer version) {
			super.change(VERSION,super.getVersion(),version);
			super.setVersion(version);
			return this;
		}
		
		/**
		 * 设置 租户
		 * @param tenantId 租户
		 * @return 当前对象
		*/
		public MeetingRoom setTenantId(String tenantId) {
			super.change(TENANT_ID,super.getTenantId(),tenantId);
			super.setTenantId(tenantId);
			return this;
		}
		
		/**
		 * 设置 meetingRoomPosition
		 * @param meetingRoomPosition meetingRoomPosition
		 * @return 当前对象
		*/
		public MeetingRoom setMeetingRoomPosition(MeetingRoomPosition meetingRoomPosition) {
			super.change(MEETING_ROOM_POSITION,super.getMeetingRoomPosition(),meetingRoomPosition);
			super.setMeetingRoomPosition(meetingRoomPosition);
			return this;
		}

		/**
		 * 克隆当前对象
		*/
		@Transient
		public MeetingRoom clone() {
			return duplicate(true);
		}

		/**
		 * 复制当前对象
		 * @param all 是否复制全部属性，当 false 时，仅复制来自数据表的属性
		*/
		@Transient
		public MeetingRoom duplicate(boolean all) {
			$$proxy$$ inst=new $$proxy$$();
			inst.setNotes(this.getNotes());
			inst.setUpdateTime(this.getUpdateTime());
			inst.setPersonNumber(this.getPersonNumber());
			inst.setVersion(this.getVersion());
			inst.setCreateBy(this.getCreateBy());
			inst.setDeleted(this.getDeleted());
			inst.setPositionId(this.getPositionId());
			inst.setCreateTime(this.getCreateTime());
			inst.setUpdateBy(this.getUpdateBy());
			inst.setDeleteTime(this.getDeleteTime());
			inst.setName(this.getName());
			inst.setTenantId(this.getTenantId());
			inst.setDeleteBy(this.getDeleteBy());
			inst.setId(this.getId());
			inst.setStatus(this.getStatus());
			if(all) {
				inst.setMeetingRoomPosition(this.getMeetingRoomPosition());
			}
			inst.clearModifies();
			return inst;
		}

	}
}